Steps to Build and Run the Docker Image

  1. Download the domain binary files, AdminConsole Distribution as mentioned in the Prerequisites section of this document.
  2. Extract the AdminConsole distribution.
  3. Create a directory named externallibs to place the 3rd party application libraries, configuration and property files required.

  4. Copy the downloaded AdminConsole distribution zip under the externallibs/zip directory.

  5. Copy the following configuration files from <Admin Console distribution zip>/conf directory into the externallibs/conf directory:

    • ac.properties

    • ac-oipa-jmxconnection-context.xml

  6. Copy the following files from the <Admin Console distribution zip>/libs directory into the externallibs directory:

    • commons-logging-1.3.6.jar

    • eclipselink-4.0.9.jar

    • jakarta.persistence-api-3.2.0.jar

    • jakarta.el-api-6.0.1.jar

    • Note: Rename all the jars without version names. This is to avoid version updates in the Docker script.

      Example:

      commons-logging.jar

      eclipselink.jar

      ojdbc.jar

      jakarta.persistence.jar

  7. If the AdminConsole application is ATP compliant, then copy the required ATP (Autonomous Transaction Processing) database files under the externallibs/shared directory. The folder structure is as follows:

  8. Under the ojdbc folder, copy all the libs to the ojdbc folder

    • Under the wallet folder,

Note: Maintain the externallibs folder and place the required libraries and the supported files which are discussed in earlier steps. Check the below snippets for your reference.

Under the conf folder,

Note: Place the AdminConsole build artifacts that are downloaded from the Oracle Software Delivery Cloud in the externallibs/zip directory. Check the below snippet for your reference.

Provide the AdminConsole Security realm details in realm.properties file (externallibs/jmeter/).

From the copied location, execute the below command:

docker build format

$ docker build -t <Image_Name>:<Image_Tag> --build-arg APP_DOMAIN_NAME="<Domain_Name>" --build-arg APP_VERSION="<Build Release Version>"

docker build example

$ docker build -t ac_wls:12.2.0.0 --build-arg APP_DOMAIN_NAME="ac_domain" --build-arg APP_VERSION="12.2.0.0"

Containerized Admin Console

To start the containerized Admin Console application, run

docker run:

$ docker run -itd --privileged -v /path/to/the/externallibs:/u01/oracle/externallibs --env-file /path/to/the/ac_env.dat --name <Container_Name> --hostname <Container_HostName> -p <AdminServer_External_Port>:<AdminServer_Container_Port> -p <MS_External_Port>:<MS_Container_Port> <Image_Name>:<Image_Tag> createServer.sh $DB_TYPE

docker run example:

For ORACLE:

docker run -itd --privileged -v /path/to/the/externallibs: /u01/oracle/externallibs --env-file /home/ac_env.dat --name ac_wls --hostname acwlsadmin -p 8040:8040 -p 8041:8041 --sysctl net.ipv4.ip_local_port_range="1024 65000" ac_wls:12.2.0.0 createServer.sh ORACLE

For MSSQL:

docker run -itd --privileged -v /path/to/the/externallibs: /u01/oracle/externallibs --env-file /home/ac_env.dat --name ac_wls --hostname acwlsadmin -p 8040:8040 -p 8041:8041 --sysctl net.ipv4.ip_local_port_range="1024 65000" ac_wls:12.2.0.0 createServer.sh MSSQL

Make Sure you define the Database names as below only (Case Sensitive)

Oracle Database: ORACLE

SQL Database: MSSQL

Check the docker logs:

$ docker logs -f ac_wls

Note: The APP_DOMAIN_NAME build argument from the "docker build ...." command and the "--hostname" flag from the "docker run ..." commands should be the same which you denoted in the ac_env.dat file.

The following are few snippets of the Service Layer AdminConsole.

Deployment

Admin Console Data Source

Admin Console Home Page

OIPA Docker AC Login